package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为集合
 * 数组的工具类Arrays提供了一个静态方法:asList
 * 可以将一个数组转换为一个List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("array:" + Arrays.toString(array));

        List<String>list = Arrays.asList(array);
        System.out.println("list:"+list);
        //对集合的操作就是对原数组对应的操作
        list.set(0,"zero");
        System.out.println("list:" + list);
        System.out.println("array:" + Arrays.toString(array));
        /*
        support:支持
        UnmodifiableList:不可修改的集合
        Operations:操作
        java.lang.UnsupportedOperationException:
        由于数组是定长的,因此对于集合可能改变元素个数的操作就是不支持的,会抛除上述异常
         */
        //list.add("six")
        /*
            如果希望增删元素，则需要自行再创建一个集合，并包含数组转换出来集合中的
            所有元素即可
         */
//        List<String> list2 = new ArrayList<>();
//        list2.addAll(list);
//        所有集合都支持一个参数为Collection的构造器，创建集合同时包含给定集合所有元素
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2:" + list2);
        list2.add("six");
        System.out.println("list2:" + list2);




    }
}
